当前位置:flash课件吧→免费FLASH教程之三(含实例教程)(新页面 新改版 新气象) | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
题 目:使用Julia集测试电脑性能 大家都知道Julia集是一种迭代算法,即不断将运算所得结果再投入算法计算,使得结果不断接近真实值 例如我们计算π,e都是用这个算法。 Julia集有很多形式,都需要消耗大量资源才能得出结果。而我们能够使用这个算法测试电脑性能。 因为使用BitmapData支持,所以请使用FlashPlayer8.0播放。
/** ActionScriptSourceFile--CreatedwithSAPIENTechnologiesPrimalScript3.1 @classTest.as @package @authortcper@163.comLoki_tang @codehint @example:importTest; varsomeObject:Test=newTest; someObject.tester(.01); @tooltip */ importflash.display.BitmapData; classTestextendsMovieClip{ privatevarn:Number; privatevarcx:Number; privatevarcy:Number; privatevarx2:Number; privatevary2:Number; privatevarrgb:Number; privatevartimeGot:Number; privatevarrgbOffset:Number; privatevarpixelPos:Number; privatevarmc:MovieClip; privatevarmcOrigin:MovieClip; privatevarmyBitmapData:BitmapData; //a,b都是Julia集的参数 privatestaticvara:Number=.5; privatestaticvarb:Number=.55; privatestaticvarpixelNum:Number=0; privatestaticvartimeLimitation:Number=4000;//计算时间限制 functionTest(){ bitmapCreator(); } privatefunctionbitmapCreator():BitmapData{ myBitmapData=newBitmapData(400,400,false,0xcccccccc); returnmyBitmapData; } privatefunctionmcCreator():MovieClip{ mcOrigin=this.createEmptyMovieClip("mc",this.getNextHighestDepth()); returnmcOrigin; } privatefunctiongetRGB(i:Number,u:Number):Number{ rgb=(i-u)*200; returnrgb; } privatefunctiongetPixelPos(i:Number):Number{ pixelPos=Math.floor((i 1.5)*133.3); returnpixelPos; } privatefunctiontimeCheck(i:Number):Boolean{ if((getTimer()-i)returntrue; }else{ returnfalse; } } //publicMethod; publicstaticfunctionpixelStatistic():Number{ returnpixelNum; } publicfunctiontester(u:Number):Void{ rgbOffset=Math.floor(100*Math.random()); timeGot=getTimer(); varmc=mcCreator(); mc.attachBitmap(bitmapCreator(),this.getNextHighestDepth()); mc._x=mc._y=-200; //以下是Julia算法. for(vari=-1.5;i<=1.5;i =u){ for(varj=-1.5;j<=1.5;j =u){ cx=i; cy=j; for(varn=1;n<=100;n ){ pixelNum ; x2=cx*cx-cy*cy a; y2=2*cy*cx b; cx=x2; cy=y2; if(cx*cx cy*cy>4){ break; } if(!timeCheck(timeGot)){ return; } } bitmapCreator().setPixel(getPixelPos(i),getPixelPos(j),getRGB(n,rgbOffset)); } } } }
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|